package com.wsoft.hr.pm.entity;

import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableName;
import com.wsoft.entity.BaseEntity;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Getter;
import lombok.Setter;

import java.math.BigDecimal;

/**
 * <p>
 * 人员模版指标历史记录表
 * </p>
 *
 * @author zhanggukai
 * @since 2025年03月01日 14:23:05
 */
@Getter
@Setter
@TableName("hr_pm_member_template_target_his")
@Schema(name = "HrPmMemberTemplateTargetHisEntity", description = "人员模版指标历史记录表")
public class HrPmMemberTemplateTargetHisEntity extends BaseEntity {

    @Schema(description = "模板指标id")
    @TableField("member_template_target_id")
    private Long memberTemplateTargetId;

    @Schema(description = "指标表id")
    @TableField("member_template_id")
    private Long memberTemplateId;

    @Schema(description = "指标id")
    @TableField("target_id")
    private Long targetId;

    @Schema(description = "指标编码")
    @TableField("target_code")
    private String targetCode;

    @Schema(description = "指标名称")
    @TableField("target_name")
    private String targetName;

    @Schema(description = "指标类型(数据字典)")
    @TableField("target_type")
    private String targetType;

    @Schema(description = "加分/减分 值")
    @TableField("target_type_value")
    private Long targetTypeValue;

    @Schema(description = "指标级别(数据字典)")
    @TableField("target_level")
    private String targetLevel;

    @Schema(description = "上级指标")
    @TableField("p_target_id")
    private Long pTargetId;

    @Schema(description = "指标分组")
    @TableField("group_id")
    private Long groupId;

    @Schema(description = "考核标准")
    @TableField("standard")
    private String standard;

    @Schema(description = "权重")
    @TableField("weight")
    private BigDecimal weight;

    @Schema(description = "目标值")
    @TableField("purpose_value")
    private BigDecimal purposeValue;

    @Schema(description = "量化指标单位")
    @TableField("unit")
    private String unit;

    @Schema(description = "是否公式自动评分(是否量化)")
    @TableField("is_formula")
    private Integer isFormula;

    @Schema(description = "公式类型")
    @TableField("formula_type")
    private String formulaType;

    @Schema(description = "评分公式")
    @TableField("formula_value")
    private String formulaValue;

    @Schema(description = "是否结果值录入")
    @TableField("is_result_input")
    private Integer isResultInput;

    @Schema(description = "结果值录入类型")
    @TableField("result_input_member_type")
    private String resultInputMemberType;

    @Schema(description = "结果值录入值")
    @TableField("result_input_member_value")
    private String resultInputMemberValue;

    @Schema(description = "是否指定评分人")
    @TableField("is_result_score")
    private Integer isResultScore;

    @Schema(description = "评分人录入类型")
    @TableField("result_score_member_type")
    private String resultScoreMemberType;

    @Schema(description = "评分人录入值")
    @TableField("result_score_member_value")
    private String resultScoreMemberValue;

    @Schema(description = "指标说明")
    @TableField("remark")
    private String remark;

    @Schema(description = "是否关键指标")
    @TableField("is_key")
    private Integer isKey;
}
